A method of controlling a switch, a terminal and the like (data plane) from an external controller (control plane) is referred to as a CD (C: control plane/D: data plane) separation type architecture. A network configuration of the above CD separation type architecture is referred to as a CD separation type network.
As an example of the CD separation type network, an open flow network is exemplified which uses an open flow (OpenFlow) technique for carrying out a route control of a network by controlling switches from a controller. Note that the open flow network is merely one example.
(Open Flow Network)
In the open flow network, a series of communications, which are determined by combinations of a MAC address, an IP address, a port number and the like, is defined as a “flow”. A route control, a trouble recovery, a load distribution, an optimization are carried out in a flow unit.
In the open flow network, a controller such as an OFC (OpenFlow Controller) controls the behavior of a switch by operating a flow table of the switch such as OFS (OpenFlow Switch).
The controller and the switch are connected by a secure channel to control the switch with use of a control message based on an open flow protocol by the controller. The controller and the switch transmit and receive open flow messages in conformity to the open flow (OpenFlow) protocol through the secure channel.
The switches in the open flow network configure the open flow network and are present as edge switches and core switches, which are controlled by the controller. Note that the edge switch is a switch located at a boundary between the open flow network and a network differing from it. Also, the core switch is a switch used to relay a packet in the open flow network. In the open flow network, the controller can operate the flow table of the switch on a route and control a flow from the reception (inflow) of the packet at an input side edge switch (Ingress) to the transmission (outflow) of the packet at an output side edge switch (Egress).
The packet may be referred to as a frame. A difference between the packet and the frame is merely a difference in a unit of a data handled in a protocol (PDU: Protocol Data Unit). The packet is the PDU of “TCP/IP” (Transmission Control Protocol/Internet Protocol). On the other hand, the frame is the PDU of “Ethernet” (Registered Mark).
The flow table is a table in which a flow entry is registered to define a predetermined action performed on the packet complying with a predetermined match condition (rule).
The rule of the flow entry is defined based on a combination of one or more of a destination address, a source address, a destination port and a source port, which are included in a header region of the packet in each protocol hierarchy, and they can be discriminated. Note that the above address shall include a MAC address (Media Access Control Address) and an IP address (Internet Protocol Address). Also, in addition to the above, data of an ingress port can be used as the rule of the flow entry.
The action of the flow entry indicates an operation of “Output to Particular Port”, “Discard” or “Rewrite of Header”. For example, when the action of the flow entry indicates an identification data of an output port (Output Port Number, Etc), the switch outputs the packet to the port corresponding to this, and when the identification data of the output port is not indicated, the packet is discarded. Or, when the action of the flow entry indicates the header data, a header of the packet is rewritten on the basis of the header data.
The switch in the open flow network executes the action of the flow entry to a packet group (packet series) that complies with the rule of the flow entry.
The detail of the open flow technique is described in Non-Patent Literature 1.
In the open flow network in which a flow setup is not completed in advance, for each of unknown packets (first packets) that firstly received by the switch, a copy (mirror packet) of a received packet is transferred as an inquiry message (packet in) of the flow entry from the switch to the controller, until the flow entry is registered in the flow table.
However, when packets of a same flow whose flow entry is not registered in the flow table are continuously received by the switch, the number of the inquiry messages (packet in) of the flow entry to the controller increases, to increase a burden of the controller.
When a load is imposed to the controller that manages the open flow network, a problem is caused in the stabilization of the network. Thus, the decrease of the load on the control is requested.